1. Field of the Invention
The present invention relates to an articulated robot controller. In particular, the present invention relates to a robot controller capable of obtaining a position/attitude with high accuracy in consideration of the bendings of a robot mechanical section.
2. Description of the Prior Art
As it is strongly required to reduce the weight of robots and to increase the operating speed thereof, the mechanical sections of the robots are easy to bend more, and the influence of the bent mechanical sections on accuracy becomes unignorable. To cope with this problem, in conventional robots, a high accuracy locus control has been actively controlled by compensating the bendings of a 2-mass model caused by the low rigidity of a reducer of each axis. As to robot arms themselves, a dimensionless flexible arm (in which a secondary mode, a ternary mode, . . . , of a resonance frequency exist) of one axis is arranged as a model using Beam Equation so that the arm is controlled by being made to have a low dimension. Further, Japanese Patent No. 3120028, and the like propose a method of controlling the elastic deformation of an arm (link) by simply decomposing it into components in a motor rotational direction.
Articulated robots have a problem in that they are vibrated because the motion thereof is amplified on the influence of axes, which is not a problem in one-axis control. Controlling a flexible arm has a drawback in that it requires a long calculation processing time. A problem of multi-axis control has not been taken into consideration until today. Further, the method disclosed in Japanese Patent No. 3120028 described above cannot execute control perfectly because it only takes the elastic deformation of the arm (link) into consideration very simply.
An object of the present invention is to provide a robot controller capable of operating an articulated flexible arm robot at a high speed with a high accuracy by correcting bendings produced in the robot.
To achieve the above object, a robot controller according to the present invention for driving the respective links of a robot by respective actuators comprises a bending calculation means for determining the bendings produced in the respective joints at the target position/attitude of a robot hand distal end based on a teaching program, or determining the bending produced in the respective joints and respective links; a robot hand distal end offset calculation means for determining the offset from the target position and/or the offset from the target attitude of the distal end based on the thus determined bendings; and corrected position calculation means for determining the positions of the actuators for driving the robot hand distal end to a position and/or an attitude to which a correction having the same magnitudes as those of the offset is applied in an inverse direction.
According to the robot controller having the above structure, it is possible to position the robot to a target position/attitude by correcting the bendings of the entire robot.
Further, a robot controller for a robot whose respective links are driven by respective actuators and which executes a job by pressing a robot hand distal end against an object includes a sensor for detecting a reaction force produced when the robot hand distal end is pressed against the object; bending calculation means for determining the bendings produced in the respective joints at the target position/attitude of the robot hand distal end based on a teaching program; a robot hand distal end offset calculation means for determining the offset from the target position and/or the offset from the target attitude of the distal end based on the thus determined bendings; and a corrected position calculation means for determining the positions of the actuators for driving the robot hand distal end to a position and/or an attitude to which a correction having the same magnitudes as those of the offset is applied in an inverse direction.
According to the robot controller having the above structure, it is possible to maintain the position/attitude of the robot to a target value by correcting the bendings produced when the robot hand distal end is pressed against the object.